import serial
import serial.tools.list_ports

# 获取所有串口设备实例。
# 如果没找到串口设备，则输出：“无串口设备。”
# 如果找到串口设备，则依次输出每个设备对应的串口号和描述信息。
ports_list = list(serial.tools.list_ports.comports())
if len(ports_list) <= 0:
    print("无串口设备。")
else:
    print("可用的串口设备如下：")
    for comport in ports_list:
        print(list(comport)[0], list(comport)[1])

        # COM3 Intel(R) Active Management Technology - SOL (COM3)
        # COM4 USB Serial Port (COM4)
        # COM1 Communications Port (COM1)

# open serial
import serial

ser = serial.Serial("COM4", 115200)  # 打开COM17，将波特率配置为115200，其余参数使用默认值
if ser.isOpen():  # 判断串口是否成功打开
    print("打开串口成功。")
    print(ser.name)  # 输出串口号
else:
    print("打开串口失败。")


# 串口发送 ABCDEFG，并输出发送的字节数。
with open(r'C:\zxc\other\50175378-001_D.POF') as f:
    cont = f.read()
# cont = 'ABCDEFG'
write_len = ser.write(cont.encode('utf-8'))
print("串口发出{}个字节。".format(write_len))

#
#
# # 读取串口输入信息并输出。
# while True:
#     com_input = ser.read(10)
#     if com_input:   # 如果读取结果非空，则输出
#         print(com_input)


ser.close()